// pages/first/sousuo/sousuo.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
		value:'',// 搜索框的内容（绑定到输入框）
		historyList:[],// 搜索历史记录列表
		isSearching: false, // 是否处于搜索状态
		consultants: [], // 搜索心理专家结果列表
		articles:[] //搜索心理文章结果列表
  },

  /**
   * 生命周期函数--监听页面加载
	 * 页面加载时调用的函数
   */
  onLoad(options) {
		this.fetchHistoryData();// 页面加载时请求并显示历史记录
	},
	 // 搜索框事件处理
	 //绑定到搜索框的搜索事件，用于处理用户的搜索输入
	 onSearch(event) {
		 console.log(event);// 打印事件对象，查看其中的数据
		const content = event.detail;  // 获取输入框内容
		console.log('搜索框里的内容：'+content)
		// 如果输入内容不为空，则保存该内容到历史记录
    if (content) {
			this.setData({
				isSearching: true, // 进入搜索状态
			});
			this.postHistoryData(content);  // 存储搜索历史,调用函数保存搜索记录
			this.fetchSearchData(content);  // 执行搜索心理专家请求
			this.fetchSearchArticleData(content);//执行搜索心理文章请求
    }
  },
	// 取消搜索
	onCancel() {
		this.setData({
			value: '', // 清空搜索框内容
			isSearching: false, // 退出搜索状态
			consultants: [], // 清空心理专家搜索结果
			articles:[]
		});
	},

	// 点击历史记录进行搜索
	clickHistory(event) {
		const content = event.currentTarget.dataset.content; // 获取点击的历史记录内容
		this.setData({
			value: content, // 更新搜索框内容
			isSearching: true, // 设置为搜索状态
		});
		// 执行搜索操作
		this.fetchSearchData(content);  // 搜索心理专家
		this.fetchSearchArticleData(content);  // 搜索心理文章
	},

  // 清空历史记录,绑定到清空按钮，用于清空搜索历史
  onClearHistory() {
    this.setData({
      historyList: []  // 清空历史记录, 将历史记录列表清空
		});
		console.log("清除成功")
	},

	// 搜索数据请求，向后端请求心理专家搜索结果
fetchSearchData(content) {
  wx.request({
    url: `http://localhost:8080/consultants/search`, 
    method: 'GET',
    data: {
      keyword: content  // 传递搜索关键字
    },
    success: (res) => {
      console.log('搜索结果：', res.data.data);
      if (res.statusCode === 200) {
        this.setData({
          consultants: res.data.data  // 假设返回的结果是咨询师列表
        });
      } else {
        console.error('查询失败', res);
      }
    },
    fail: (error) => {
      console.error('请求错误', error);
    }
  });
},

	// 搜索数据请求，向后端请求心理文章搜索结果
	fetchSearchArticleData(content) {
		wx.request({
			url: `http://localhost:8080/article/findLike`, 
			method: 'GET',
			data: {
				title: content  // 传递搜索关键字
			},
			success: (res) => {
				console.log('搜索心里文章的结果：', res.data.data);
				if (res.statusCode === 200) {
					this.setData({
						articles: res.data.data  // 假设返回的结果是咨询师列表
					});
				} else {
					console.error('查询失败', res);
				}
			},
			fail: (error) => {
				console.error('请求错误', error);
			}
		});
	},

	// 存储搜索历史数据,用于将搜索内容提交到后端保存
postHistoryData(content) {
  wx.request({
    url: 'http://localhost:8080/history/addRecord',//// 请求的URL，保存搜索记录
    method: 'POST', // 使用POST方法提交数据
    header: {
      'Content-Type': 'application/json'  // 确保请求头是 JSON
		},
		// 使用JSON.stringify将数据转化为JSON字符串传递
    data: JSON.stringify({
      userId: 2,  // 示例用户ID
      content: content  // 搜索的内容,传递给后端
    }),
    success: (res) => {
      console.log('保存记录成功', res);// 请求成功时，输出返回结果
      if (res.statusCode === 200) {
        this.fetchHistoryData();  // 保存成功后重新请求历史记录以更新数据
      } else {
        console.error('请求失败', res);
      }
    },
    fail: (error) => {
      console.error('请求错误', error);
    }
  });
},

	
	//获取搜索历史数据,向后端请求获取该用户的历史搜索记录
	fetchHistoryData(){
		wx.request({
			url: `http://localhost:8080/history/listAll?userId=${2}`, // 获取历史记录的URL，传递用户ID
			method:'GET',// 使用GET方法请求数据
			success:(res)=>{
				console.log('返回的历史搜索记录数据：',res.data.data)// 打印返回的数据
				if(res.statusCode===200){
					this.setData({
						historyList:res.data.data// 如果请求成功，将返回的历史记录设置到data中
					});
				}else{
					console.error('请求失败',res);
				}
			},
			fail:(error)=>{
				console.error('请求错误',error);
			}
		})
	},

  /**
   * 生命周期函数--监听页面初次渲染完成
	 * 页面渲染完成时调用的函数
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
	 * 页面每次显示时调用的函数
   */
  onShow() {
// 页面每次显示时调用，可以用于刷新数据等操作
  },

  /**
   * 生命周期函数--监听页面隐藏
	 * 页面每次隐藏时调用的函数
   */
  onHide() {
		// 页面隐藏时的操作，通常用来清理不再需要的数据
  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {
 // 可以在这里重新加载数据或者刷新页面
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})